|
Defines |
| #define | FPU_RM_MASK 0x03 |
| | Mask value for rounding mode.
|
| #define | FPU_FLAGS_POS 2 |
| | Bit position of the flag bits.
|
| #define | FPU_ENABLE_POS 7 |
| | Bit position of the enable bits.
|
| #define | FPU_CAUSE_POS 12 |
| | Bit position of the cause bits.
|
| #define | FPU_CC0_POS 23 |
| | Bit position of the cc0 bit.
|
| #define | FPU_FS_POS 24 |
| | Bit position of the fs bit.
|
| #define | FPU_CC17_POS 25 |
| | Bit position of the cc1->7 bits.
|
| #define | FPU_FLAGS_MASK (0x1F << FPU_FLAGS_POS) |
| #define | FPU_ENABLE_MASK (0x1F << FPU_ENABLE_POS) |
| #define | FPU_CAUSE_MASK (0x3F << FPU_CAUSE_POS) |
| #define | FPU_CC0_MASK (1 << FPU_CC0_POS) |
| #define | FPU_FS_MASK (1 << FPU_FS_POS) |
| #define | FPU_CC17_MASK (0x7F << FPU_CC17_POS) |
Enumerations |
| enum | FpuRoundMode { FPU_RN = 0,
FPU_RZ = 1,
FPU_RP = 2,
FPU_RM = 3
} |
| | Enumeration for FPU rounding modes. More...
|
| enum | FpuExceptions {
FPU_EXCEPTION_INEXACT = 0x01,
FPU_EXCEPTION_UNDERFLOW = 0x02,
FPU_EXCEPTION_OVERFLOW = 0x04,
FPU_EXCEPTION_DIVBYZERO = 0x08,
FPU_EXCEPTION_INVALIDOP = 0x10,
FPU_EXCEPTION_UNIMPOP = 0x20,
FPU_EXCEPTION_ALL = 0x3F
} |
| | Enumeration for FPU exceptions. More...
|
Functions |
| uint32_t | pspfpu_get_fcr31 (void) |
| | Get the current value of the control/status register.
|
| void | pspfpu_set_fcr31 (uint32_t var) |
| | Set the current value of the control/status register.
|
| void | pspfpu_set_roundmode (enum FpuRoundMode mode) |
| | Set the current round mode.
|
| enum FpuRoundMode | pspfpu_get_roundmode (void) |
| | Get the current round mode.
|
| uint32_t | pspfpu_get_flags (void) |
| | Get the exception flags (set when an exception occurs but the actual exception bit is not enabled).
|
| void | pspfpu_clear_flags (uint32_t clear) |
| | Clear the flags bits.
|
| uint32_t | pspfpu_get_enable (void) |
| | Get the exception enable flags.
|
| void | pspfpu_set_enable (uint32_t enable) |
| | Set the enable flags bits.
|
| uint32_t | pspfpu_get_cause (void) |
| | Get the cause bits (only useful if you installed your own exception handler).
|
| void | pspfpu_clear_cause (uint32_t clear) |
| | Clear the cause bits.
|
| uint32_t | pspfpu_get_fs (void) |
| | Get the current value of the FS bit (if FS is 0 then an exception occurs with denormalized values, if 1 then they are rewritten as 0.
|
| void | pspfpu_set_fs (uint32_t fs) |
| | Set the FS bit.
|
| uint32_t | pspfpu_get_condbits (void) |
| | Get the condition flags (8 bits).
|
| void | pspfpu_clear_condbits (uint32_t clear) |
| | Clear the condition bits.
|